
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>unload_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>unload_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void unload_c ( ConstSpiceChar  * file ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   Unload a SPICE kernel. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   KERNEL 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   VARIABLE  I/O  DESCRIPTION 
   --------  ---  -------------------------------------------------- 
   file       I   The name of a kernel to unload. 
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   file       is the name of a file to unload.  This file 
              should be one loaded through the interface <a href="furnsh_c.html">furnsh_c</a>. 
              If the file is not on the list of loaded kernels 
              no action is taken. 
 
              Note that if file is a meta-text kernel, all of 
              the files loaded as a result of loading the meta-text 
              kernel will be unloaded. 
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   1) If the specified kernel is not on the list of loaded kernels 
      no action is taken. 
 
   2) If the input file argument pointer is null, the error
      SPICE(NULLPOINTER) will be signaled.
      
   3) If the input file argument pointer is the empty string, the error
      SPICE(EMPTYSTRING) will be signaled.
   </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   The call 
      
      <b>unload_c</b> ( file ); 
 
   has the effect of &quot;erasing&quot; the last previous call: 
 
      <a href="furnsh_c.html">furnsh_c</a> ( file ); 
 
   This interface allows you to unload binary and text kernels. 
   Moreover, if you used a meta-text kernel to set up your 
   working environment, you can unload all of the kernels loaded 
   through the meta-kernel by unloading the meta-kernel. 
 
   Unloading Text or Meta-text Kernels. 
 
   Part of the action of unloading text (or meta-text kernels) is
   clearing the kernel pool and re-loading any kernels that were not in
   the specified set of kernels to unload.  Since loading of text
   kernels is not a very fast process, unloading text kernels takes
   considerably longer than unloading binary kernels.  Moreover, since
   the kernel pool is cleared, any kernel pool variables you have set
   from your program by using one of the interfaces <a href="pcpool_c.html">pcpool_c</a>, <a href="pdpool_c.html">pdpool_c</a>,
   <a href="pipool_c.html">pipool_c</a>, or <a href="lmpool_c.html">lmpool_c</a> will be removed from the kernel pool.  For
   this reason, if you plan to use this feature in your program,
   together with one of the routines specified above, you will need to
   take special precautions to make sure kernel pool variables required
   by your program do not inadvertently disappear.
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   Suppose that you wish to compare two different sets of kernels 
   used to describe the geometry of a mission (for example a predict 
   model and a reconstructed model). You can place all of the 
   kernels for one model in one meta-text kernel, and the other set 
   in a second meta-text kernel.  Let's call these predict.mta and 
   actual.mta. 
 
      #include &quot;SpiceUsr.h&quot;
           .
           .
           .
      <a href="furnsh_c.html">furnsh_c</a> ( &quot;predct.mta&quot; ); 
 
      /.
      Compute quantities of interest and store them 
      for comparison with results of reconstructed 
      (actual) kernels. 
     
      Now unload the predict model and load the reconstructed 
      model. 
      ./
      <b>unload_c</b> ( &quot;predct.mta&quot; ); 
      <a href="furnsh_c.html">furnsh_c</a> ( &quot;actual.mta&quot; ); 
 
      /.
      Re-compute quantities of interest and compare them 
      with the stored quantities. 
      ./
      
      </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   See the note regarding the unloading of text and meta-text 
   kernels. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
  
   N.J. Bachman    (JPL)
   W.L. Taber      (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.0, 01-SEP-1999 (NJB) (WLT)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   Unload a SPICE kernel 
 </PRE>
<h4>Link to routine unload_c source file <a href='../../../src/cspice/unload_c.c'>unload_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:32 2010</pre>

</body>
</html>

